home *** CD-ROM | disk | FTP | other *** search
/ Acorn RISC PD-CD 1 / Acorn RISC PD-CD 1.iso / languages / hope / _hope / hopeinit < prev    next >
Encoding:
Text File  |  1990-04-25  |  1.8 KB  |  49 lines

  1. typevar alpha, beta, gamma ;
  2. type stream == num;
  3.  
  4. infix isin                                : 3;
  5. infix <>, ::, :::, or, union              : 4 ;
  6. infix +, -, and, intersect, minus, subset : 5 ;
  7. infix =, <, >, /=, =<, >=, *, div, mod    : 6 ;
  8.  
  9. data list ( alpha ) == nil ++ alpha :: list ( alpha ) ++ alpha ::: list ( alpha ) ;
  10.  
  11. data set(alpha) == empty;
  12.  
  13. dec true, false         : truval ;        ! a nasty fudge !
  14. dec _                   : alpha ;         ! another nasty fudge !
  15.  
  16. dec +, -, *, div, mod   : ( num # num ) -> num ;
  17. dec =, <, =<, >, >=, /= : ( alpha # alpha) -> truval ;
  18. dec <>                  : list ( alpha ) # list ( alpha ) -> list ( alpha ) ;
  19. dec and, or             : ( truval # truval ) -> truval ;
  20. dec chr                 : num -> char ;
  21. dec ord                 : char -> num ;
  22.  
  23. dec abs : num -> num ;
  24. --- abs n <= if n < 0 then 0 - n else n ;
  25. dec not : truval -> truval ;
  26. --- not ( true ) <= false ;
  27. --- not ( false ) <= true ;
  28.  
  29.  
  30. dec close       : stream -> void ;
  31. dec eof         : char ;
  32. dec getchar     : stream -> char ;
  33. dec nl          : char ;
  34. dec show        : alpha -> alpha ;
  35. dec openin      : list ( char ) -> stream ;
  36. dec openout     : list ( char ) -> stream ;
  37. dec print       : list ( char ) -> void ;
  38. dec putchar     : ( stream # char ) -> void ;
  39. dec putlist     : ( list ( list ( char ) ) # stream ) -> void ;
  40.  
  41. dec bisect      : set ( alpha ) -> ( set ( alpha ) # set ( alpha ) ) ;
  42. dec intersect   : ( set ( alpha ) # set ( alpha ) ) -> set ( alpha ) ;
  43. dec isin        : ( alpha # set ( alpha ) ) -> truval ;
  44. dec minus       : ( set ( alpha )  # set ( alpha ) ) -> set ( alpha ) ;
  45. dec size        : set ( alpha ) -> num ;
  46. dec split       : set ( alpha ) -> ( alpha # set ( alpha ) ) ;
  47. dec subset      : ( set ( alpha )  # set ( alpha ) ) -> truval ;
  48. dec union       : ( set ( alpha ) # set ( alpha ) ) -> set ( alpha ) ;
  49.